<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="cache-control" content="no-cache">
<title>reflex::lazy_intersection&lt; S1, S2 &gt;::iterator Struct Reference</title>
<link href="doxygen_tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="doxygen_content.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="top">
 <div id="titlearea">
  <table height="72px" width="100%" cellspacing="0" cellpadding="0">
   <tbody>
    <tr>
     <td width="10%">&nbsp;</td>
     <td><a href="https://github.com/Genivia/RE-flex"><img src="reflex-logo.png"/></a></td>
     <td>
      <div style="float: right; font-size: 18px; font-weight: bold;">reflex::lazy_intersection&lt; S1, S2 &gt;::iterator Struct Reference</div>
      <br>
      <div style="float: right; font-size: 10px;">updated Thu May 14 2020 by Robert van Engelen</div>
     </td>
     <td width="10%">&nbsp;</td>
    </tr>
   </tbody>
  </table>
 </div>
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacereflex.html">reflex</a></li><li class="navelem"><a class="el" href="structreflex_1_1lazy__intersection.html">lazy_intersection</a></li><li class="navelem"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html">iterator</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structreflex_1_1lazy__intersection_1_1iterator-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">reflex::lazy_intersection&lt; S1, S2 &gt;::iterator Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Iterator to lazely get elements of a set intersection.  
 <a href="structreflex_1_1lazy__intersection_1_1iterator.html#details">More...</a></p>

<p><code>#include &lt;setop.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5f71735ad2f587d91d42f4368fc3840b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#a5f71735ad2f587d91d42f4368fc3840b">iterator</a> (const S1 &amp;<a class="el" href="structreflex_1_1lazy__intersection.html#a3e69df92f8a4edaba9e3915cc1d8f060">s1</a>, const S2 &amp;<a class="el" href="structreflex_1_1lazy__intersection.html#aac1976023dc537c98c8bd660e9519924">s2</a>)</td></tr>
<tr class="separator:a5f71735ad2f587d91d42f4368fc3840b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3ab9cbe5cf95968c04a58b5bab8f45e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#ac3ab9cbe5cf95968c04a58b5bab8f45e">iterator</a> (const typename S1::const_iterator &amp;<a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#a913f768032c90450edd88970eed967e1">i1</a>, const typename S2::const_iterator &amp;<a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#a5a163ae44cac2234fab2dfe04cc44116">i2</a>)</td></tr>
<tr class="separator:ac3ab9cbe5cf95968c04a58b5bab8f45e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92431742d584814fa6dd7cf49e77ed95"><td class="memItemLeft" align="right" valign="top">const S1::key_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#a92431742d584814fa6dd7cf49e77ed95">operator*</a> () const </td></tr>
<tr class="separator:a92431742d584814fa6dd7cf49e77ed95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a077eb88a457b988a50b0613c2806d23f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html">iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#a077eb88a457b988a50b0613c2806d23f">operator++</a> ()</td></tr>
<tr class="separator:a077eb88a457b988a50b0613c2806d23f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bce1b94ad81d8aee8bf8ac0f3d2e33f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#a7bce1b94ad81d8aee8bf8ac0f3d2e33f">operator++</a> (int)</td></tr>
<tr class="separator:a7bce1b94ad81d8aee8bf8ac0f3d2e33f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc19c0d84151f1280e2e6ddf46fc56b5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#acc19c0d84151f1280e2e6ddf46fc56b5">operator==</a> (const <a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html">iterator</a> &amp;rhs) const </td></tr>
<tr class="separator:acc19c0d84151f1280e2e6ddf46fc56b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace81ac575de7e2060d8b7c92f3e7f700"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#ace81ac575de7e2060d8b7c92f3e7f700">operator!=</a> (const <a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html">iterator</a> &amp;rhs) const </td></tr>
<tr class="separator:ace81ac575de7e2060d8b7c92f3e7f700"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34e983ce421c4aa36a86cc478adb0cdd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#a34e983ce421c4aa36a86cc478adb0cdd">find</a> (void)</td></tr>
<tr class="separator:a34e983ce421c4aa36a86cc478adb0cdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa63511f784afe6c1da26067d7a2f394b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#aa63511f784afe6c1da26067d7a2f394b">next</a> (void)</td></tr>
<tr class="separator:aa63511f784afe6c1da26067d7a2f394b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a913f768032c90450edd88970eed967e1"><td class="memItemLeft" align="right" valign="top">S1::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#a913f768032c90450edd88970eed967e1">i1</a></td></tr>
<tr class="separator:a913f768032c90450edd88970eed967e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0055b684fee5902b1601714e9e344e6"><td class="memItemLeft" align="right" valign="top">S1::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#ad0055b684fee5902b1601714e9e344e6">i1_end</a></td></tr>
<tr class="separator:ad0055b684fee5902b1601714e9e344e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a163ae44cac2234fab2dfe04cc44116"><td class="memItemLeft" align="right" valign="top">S2::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#a5a163ae44cac2234fab2dfe04cc44116">i2</a></td></tr>
<tr class="separator:a5a163ae44cac2234fab2dfe04cc44116"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d53d8f72b2f33dc4a861065f3b40fcc"><td class="memItemLeft" align="right" valign="top">S2::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#a3d53d8f72b2f33dc4a861065f3b40fcc">i2_end</a></td></tr>
<tr class="separator:a3d53d8f72b2f33dc4a861065f3b40fcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0acf1b27febcf25cb83e7919f198d623"><td class="memItemLeft" align="right" valign="top">S1::key_compare&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html#a0acf1b27febcf25cb83e7919f198d623">lt</a></td></tr>
<tr class="separator:a0acf1b27febcf25cb83e7919f198d623"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename S1, typename S2&gt;<br />
struct reflex::lazy_intersection&lt; S1, S2 &gt;::iterator</h3>

<p>Iterator to lazely get elements of a set intersection. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a5f71735ad2f587d91d42f4368fc3840b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::iterator </td>
          <td>(</td>
          <td class="paramtype">const S1 &amp;&#160;</td>
          <td class="paramname"><em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const S2 &amp;&#160;</td>
          <td class="paramname"><em>s2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac3ab9cbe5cf95968c04a58b5bab8f45e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::iterator </td>
          <td>(</td>
          <td class="paramtype">const typename S1::const_iterator &amp;&#160;</td>
          <td class="paramname"><em>i1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const typename S2::const_iterator &amp;&#160;</td>
          <td class="paramname"><em>i2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a34e983ce421c4aa36a86cc478adb0cdd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::find </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa63511f784afe6c1da26067d7a2f394b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::next </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ace81ac575de7e2060d8b7c92f3e7f700"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html">iterator</a> &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a92431742d584814fa6dd7cf49e77ed95"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const S1::key_type <a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::operator* </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a077eb88a457b988a50b0613c2806d23f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html">iterator</a>&amp; <a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::operator++ </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7bce1b94ad81d8aee8bf8ac0f3d2e33f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html">iterator</a> <a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::operator++ </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acc19c0d84151f1280e2e6ddf46fc56b5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structreflex_1_1lazy__intersection_1_1iterator.html">iterator</a> &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a913f768032c90450edd88970eed967e1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">S1::const_iterator <a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::i1</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad0055b684fee5902b1601714e9e344e6"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">S1::const_iterator <a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::i1_end</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5a163ae44cac2234fab2dfe04cc44116"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">S2::const_iterator <a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::i2</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a3d53d8f72b2f33dc4a861065f3b40fcc"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">S2::const_iterator <a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::i2_end</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0acf1b27febcf25cb83e7919f198d623"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S1, typename S2&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">S1::key_compare <a class="el" href="structreflex_1_1lazy__intersection.html">reflex::lazy_intersection</a>&lt; S1, S2 &gt;::iterator::lt</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="setop_8h.html">setop.h</a></li>
</ul>
</div><!-- contents -->
<hr class="footer">
<address class="footer"><small>
Converted on Thu May 14 2020 13:20:14 by <a target="_blank" href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.11</small></address>
<br>
<div style="height: 246px; background: #DBDBDB;">
</body>
</html>
